CPE-BEEP-UG100-R
Corporate Headquarters: San Jose, CA May 17, 2017
User Guide
CPE-BEEP
Broadcom Execution Environment Platform (BEEP)
LINUX DESKTOP
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Broadcom, the pulse logo, Connecting everything, Avago, Avago Technologies, and the A logo are among the
trademarks of Broadcom and/or its affiliates in the United States, certain other countries and/or the EU.
Copyright © 2017 by Broadcom. All Rights Reserved.
The term “Broadcom” refers to Broadcom Limited and/or its subsidiaries. For more information, please visit
www.broadcom.com
.
Broadcom reserves the right to make changes without further notice to any products or data herein to improve
reliability, function, or design. Information furnished by Broadcom is believed to be accurate and reliable.
However, Broadcom does not assume any liability arising out of the application or use of this information, nor
the application or use of any product or circuit described herein, neither does it convey any license under its
patent rights nor the rights of others.
For a comprehensive list of changes to this document, see the Revision History.
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Table of ContentsCPE-BEEP User Guide
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 3
Table of Contents
Introduction................................................................................................................................................... 4
Related Documents ...................................................................................................................................... 4
Compiling BEEP on a Linux Desktop ......................................................................................................... 4
Configuring the BEEP Linux Desktop ........................................................................................................ 5
Create DBUS Configuration for BEEP .................................................................................................... 5
Create openssl Configuration for BEEP .................................................................................................. 5
Running BEEP on a LINUX DESKTOP........................................................................................................ 6
Starting the PMD ..................................................................................................................................... 6
Stopping the PMD ................................................................................................................................... 7
Starting CWMPD and CWMPCTL........................................................................................................... 8
Running spTestSuite ............................................................................................................................... 9
Abbreviations.............................................................................................................................................. 11
Revision History ......................................................................................................................................... 12
Broadcom Confidential for
dsshin2 @ humaxdigital.com
IntroductionCPE-BEEP User Guide
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 4
Introduction
Developers can run core components of the BEEP and their applications on a standard desktop PC running a
relatively recent (less than two years) Linux distribution. This gives developers the flexibility to debug their code
without the tool and resource limitation of the reference board.
When BEEP is run on a desktop machine, the host’s DBUS framework is used, rather than the stripped down
running on the reference platform. When debugging applications that require access to the gateway’s hardware,
developers need to add code to bypass such access.
Related Documents
The references in this section may be used in conjunction with this document.
Compiling BEEP on a Linux Desktop
Follow these commands at the root of the source tree, to compile BEEP to run on a Linux desktop.
1. Create a build profile with BEEP enabled. This script enables all the basic components needed for BEEP.
release/maketargets 963138GW+BEEP
2. Create the content of the .last_profile file with the build profile name.
echo 963138GW_DESKTOP > .last_profile”
3. Prepare the prebuild
make prepare_userspace
4. Build a mini-set of CMS: smd, ssk, and consoled
make -C userspace private/apps/smd private/apps/ssk private/apps/consoled
5. Build the BEEP components and applications: pmd, busgate, cwmpd, cwmpctl, and spTestSuite
make -C userspace private/apps/pmd private/apps/busgate private/apps/cwmpd private/apps/cwmpctl
private/apps/spTestSuite
Document (or Item) Name Number Source
[1] CMS-DESKTOP-LINUX CPE-AN601-R docSAFE
[2] Broadcom Execution Environment Platform (BEEP)
Application Note
CPE-BEEP-AN100-R docSAFE
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Configuring the BEEP Linux DesktopCPE-BEEP User Guide
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 5
Configuring the BEEP Linux Desktop
To run BEEP on a desktop, the DBUS configuration file must be setup for BEEP components and applications
to function on DBUS. This configuration needs to be changed when there is a change in an application’s DBUS
name, permission change, or when a new application is added.
In the following example, pmd, cwmp, and the spTestSuite programs, spMaster and spRobot, are given
permission to send and receive on DBUS.
Create DBUS Configuration for BEEP
Create the DBUS configuration under /etc/dbus-1/system.d/my.com.brcm.conf with the content shown below
for the BEEP framework, with cwmp, and spTestsuite packages to run on DBUS. The policy user must be
updated with the relevant user-name on the host Linux system.
<?xml version="1.0"?> <!--*-nxml-*-->
<busconfig>
<policy user="user-name">
<allow own="com.broadcom.pmd"/>
<allow send_destination="com.broadcom.pmd"/>
<allow receive_sender="com.broadcom.pmd"/>
</policy>
<policy user="user-name">
<allow own="com.broadcom.cwmp"/>
<allow send_destination="com.broadcom.cwmp"/>
<allow receive_sender="com.broadcom.cwmp"/>
</policy>
<policy user="user-name">
<allow own="com.broadcom.spMaster"/>
<allow send_destination="com.broadcom.spMaster"/>
<allow receive_sender="com.broadcom.spMaster"/>
</policy>
<policy user="user-name">
<allow own="com.broadcom.spRobot"/>
<allow send_destination="com.broadcom.spRobot"/>
<allow receive_sender="com.broadcom.spRobot"/>
</policy>
</busconfig>
Create openssl Configuration for BEEP
If cwmpd is run on the Linux desktop and it requires openssl, then an extra openssl configuration is required on
the desktop environment. The cwmpd must have access to the configuration file. Copy this file from the
reference SDK at
~/SDK/userspace/public/libs/bcm_sslconf/sslconf.xml. The content of the file is as follows.
If the configuration file is missing, the error shown in Figure 1 will be seen when cwmpd is executed.
<sslconfig>
<httpd>
<CipherString>TLSv1.2,TLSv1,SSLv3</CipherString>
<Protocol>TLSv1.2,TLSv1.1,TLSv1,SSLv3</Protocol>
<Curves>P-256:P-384</Curves>
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Running BEEP on a LINUX DESKTOPCPE-BEEP User Guide
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 6
<Options>-SessionTicket</Options>
</httpd>
<tr69c>
<CipherString>TLSv1.2,TLSv1</CipherString>
<Protocol>ALL,-SSLv3</Protocol>
<Curves>P-256:P-384</Curves>
<Options>-SessionTicket</Options>
</tr69c>
</sslconfig>
Figure 1: Error From Missing Configuration File
Running BEEP on a LINUX DESKTOP
The BEEP framework must be started before applications can be run.
Starting the PMD
Use SMD to start the Platform Management Daemon (PMD).
•In
userspace/private/apps/smd type the command ./smd to launch the BEEP framework.
Figure 2 shows the PMD starting.
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Running BEEP on a LINUX DESKTOPCPE-BEEP User Guide
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 7
Figure 2: Starting the Platform Management Daemon
Stopping the PMD
1. Use “ps aux | grep pmd” to get PMD’s PID
2. Stop the PMD by using the command
“kill pmd_pid”.
Figure 3 shows the PMD stopping.
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Running BEEP on a LINUX DESKTOPCPE-BEEP User Guide
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 8
Figure 3: Stopping the Platform Management Daemon
Starting CWMPD and CWMPCTL
To run cwmpd as a background process, type “cd userspace/private/apps/cwmpd/; ./cwmpd&”. Once cwmpd
is launched, cwmpctl can use services provided by cwmpd.
Type
“cd ../cwmpctl/; ./cwmpctl getparametervalues --name InternetGatewayDevice.DeviceInfo.“ as an
example to get the InternetGatewayDevice.DeviceInfo.parametervalues.
Type
“./cwmpctl” to see more usage of cwmpctl.
Figure 4 shows cwmpctl consuming the cwmpd process. cwmpd must first be started in order to provide the
service.
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Running BEEP on a LINUX DESKTOPCPE-BEEP User Guide
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 9
Figure 4: CWMPCTL and the CWMPD Processes
Running spTestSuite
The packages spTestSuitePackage and spTestSuite contain two programs, spMaster and spRobot. The
spMaster program takes the user’s input commands entered in the console. It then sends a signal to the
spRobot program to perform the task.
Figure 5 shows an Echo command being sent.
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Running BEEP on a LINUX DESKTOPCPE-BEEP User Guide
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 10
Figure 5: Echo Command
Broadcom Confidential for
dsshin2 @ humaxdigital.com
AbbreviationsCPE-BEEP User Guide
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 11
Abbreviations
Tab le 1 shows the abbreviations used in this document.
Table 1: Abbreviations
Abbreviation Description
ACS Auto Configuration Server
BEEP Broadcom Execution Environment Platform
CWMP Common WAN Management Protocol
CWMPCTL Common WAN Management Protocol Control Program
DAD Data Adaptation Daemon
DU Deployment Unit
EE Execution Environment
EU Execution Unit
PMD Platform Management Daemon
RPC Remote Procedure Call
SMD The SMD daemon manages the lifecycle of CMS applications
WebUI Web User Interface provided with Broadcom reference design boards
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Revision History
Broadcom
®
BEEP Linux Desktop
May 17, 2017 CPE-BEEP-UG100-R Page 12
CPE-BEEP User Guide
Revision History
Revision Date Change Description
CPE-BEEP-UG100-R 05/17/17 Initial release document
Broadcom Confidential for
dsshin2 @ humaxdigital.com
Web: www.broadcom.com
Corporate Headquarters: San Jose, CA
© 2017 by Broadcom. All rights reserved.
CPE-BEEP-UG100-R May 17, 2017
CPE-BEEP User Guide
Broadcom Confidential for
dsshin2 @ humaxdigital.com